package org.custom.spring.boot.datasource.annotation;

import java.lang.annotation.*;

/**
 * 动态数据源选择注解
 *
 * @author 李坤
 * @date 2022/3/31 10:19
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface DatasourceSelection {
    /**
     * 默认数据源名称
     * <p>
     * 注：如无特殊需求，禁止使用该名称作为动态数据源名称
     */
    String DEFAULT = "Default";

    /**
     * 指定执行的数据源名称
     *
     * @return 数据源名称
     */
    String value() default DEFAULT;

    /**
     * 如果给定的数据源名称不存在，是否使用默认数据源
     *
     * @return true-允许使用默认数据源，false-不允许使用默认数据源
     */
    boolean userDefaultDataSource() default true;
}
